﻿using MediatR;
using RearLivestock.Common.Dtos;
using System.ComponentModel.DataAnnotations;

namespace RearLivestock.Beginning.Api.Application.Command.PrenatalCheckup
{
    public class UpdatePrenatalCheckupCommand : IRequest<Result>
    {
        /// <summary>
        /// 种母妊检ID
        /// </summary>
        [Key]
        public int PrenatalCheckupId { get; set; }

        /// <summary>
        /// 单据号
        /// </summary>
        public string DocumentNumber { get; set; } = string.Empty;

        /// <summary>
        /// 流水号
        /// </summary>
        public string SerialNumber { get; set; } = string.Empty;

        /// <summary>
        /// 耳号(基本信息表)
        /// </summary>
        public int BasicInforId { get; set; }

        /// <summary>
        /// 妊检结果(外键)
        /// </summary>
        public int PregnancyTestResultId { get; set; }

        /// <summary>
        /// 妊检方式(外键)
        /// </summary>
        public int PregnancyTestTypeId { get; set; }

        /// <summary>
        /// 同胎数
        /// </summary>
        public int ParityNumber { get; set; }

        /// <summary>
        /// 当前栋舍
        /// </summary>
        public string CurrentBuilding { get; set; } = string.Empty;

        /// <summary>
        /// 当前栏位
        /// </summary>
        public string Currentfield { get; set; } = string.Empty;

        /// <summary>
        /// 转入栋舍(外键)
        /// </summary>
        public int TurnBuilding { get; set; }

        /// <summary>
        /// 转入栏位(外键)
        /// </summary>
        public int TurnColumn { get; set; }

        /// <summary>
        /// 负责人
        /// </summary>
        public string Principal { get; set; } = string.Empty;

        /// <summary>
        /// 妊检日期
        /// </summary>
        public DateTime? PregnancyTestDate { get; set; }

        /// <summary>
        /// 是否删除
        /// </summary>
        public int IsPrenatalCheckUp { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        public string? CreatedOwner { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreatedTime { get; set; }

        /// <summary>
        /// 修改人
        /// </summary>
        public string? UpdateOwner { get; set; }

        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime? UpdateTime { get; set; }

        /// <summary>
        /// 审核人
        /// </summary>
        public string? ExamineOwner { get; set; }

        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime? ExamineTime { get; set; }
    }
}
